package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * userb对象 user
 * 
 * @author ruoyi
 * @date 2025-03-07
 */
public class User extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户主键 */
    private Long userId;

    /** 用户类型 普通/vip */
    @Excel(name = "用户类型 普通/vip")
    private String userType;

    /** 用户状态  正常0、取消授权1、封禁2 */
    @Excel(name = "用户状态  正常0、取消授权1、封禁2")
    private Long userStaus;

    /** 微信昵称 */
    @Excel(name = "微信昵称")
    private String nickName;

    /** 微信头像 */
    @Excel(name = "微信头像")
    private String avatarUrl;

    /** 消费金额 */
    @Excel(name = "消费金额")
    private BigDecimal spendingAmount;

    /** 授权时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "授权时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date authDate;

    /** 消费时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "消费时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buyDate;

    /** 微信ID */
    @Excel(name = "微信ID")
    private String openId;

    /** 微信key */
    @Excel(name = "微信key")
    private String sessionKey;

    /** 预留名称 */
    @Excel(name = "预留名称")
    private String name;

    /** 预留电话 */
    @Excel(name = "预留电话")
    private String phone;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setUserType(String userType) 
    {
        this.userType = userType;
    }

    public String getUserType() 
    {
        return userType;
    }
    public void setUserStaus(Long userStaus) 
    {
        this.userStaus = userStaus;
    }

    public Long getUserStaus() 
    {
        return userStaus;
    }
    public void setNickName(String nickName) 
    {
        this.nickName = nickName;
    }

    public String getNickName() 
    {
        return nickName;
    }
    public void setAvatarUrl(String avatarUrl) 
    {
        this.avatarUrl = avatarUrl;
    }

    public String getAvatarUrl() 
    {
        return avatarUrl;
    }
    public void setSpendingAmount(BigDecimal spendingAmount) 
    {
        this.spendingAmount = spendingAmount;
    }

    public BigDecimal getSpendingAmount() 
    {
        return spendingAmount;
    }
    public void setAuthDate(Date authDate) 
    {
        this.authDate = authDate;
    }

    public Date getAuthDate() 
    {
        return authDate;
    }
    public void setBuyDate(Date buyDate) 
    {
        this.buyDate = buyDate;
    }

    public Date getBuyDate() 
    {
        return buyDate;
    }
    public void setOpenId(String openId) 
    {
        this.openId = openId;
    }

    public String getOpenId() 
    {
        return openId;
    }
    public void setSessionKey(String sessionKey) 
    {
        this.sessionKey = sessionKey;
    }

    public String getSessionKey() 
    {
        return sessionKey;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("userType", getUserType())
            .append("userStaus", getUserStaus())
            .append("nickName", getNickName())
            .append("avatarUrl", getAvatarUrl())
            .append("spendingAmount", getSpendingAmount())
            .append("authDate", getAuthDate())
            .append("buyDate", getBuyDate())
            .append("openId", getOpenId())
            .append("sessionKey", getSessionKey())
            .append("name", getName())
            .append("phone", getPhone())
            .append("password", getPassword())
            .toString();
    }
}
